# 面向对象：
# 题目 1：任务管理系统
# 设计一个 Task 类和一个 TaskManager 类，包含以下属性和方法：
# Task 类：
# 属性：name、description、status（可以是 "pending"、"in progress"、"completed"）
# 方法：get_details()、mark_as_in_progress()、mark_as_completed()
# TaskManager 类：
# 属性：tasks（一个包含 Task 对象的列表）
# 方法：add_task(task)、remove_task(name)、get_task_details(name)、get_all_tasks()


class Task:
    def __init__(self,name,description):
        self.name=name
        self.description=description
        self.status="pending"

    def get_details(self):
        return f"任务名称：{self.name},任务描述：{self.description},任务状态：{self.status}"

    def mark_as_in_progress(self):
        self.status="in progress"

    def mark_as_completed(self):
        self.status="completed"

class TaskManager:
    def __init__(self):
        self.tasks=[]
    def add_task(self,task:Task):
        for i in self.tasks:
            if task.name==i.name:
                return "任务已存在"
            else:
                self.tasks.append(task)
        return self.tasks

    def remove_task(self,name):
        self.tasks.remove(name)

    def get_task_details(self,name):
        for task in self.tasks:
            if task.name==name:
                return task.get_details()

    def get_all_tasks(self):
        for task in self.tasks:
            print(task.get_details())


if __name__ == '__main__':
    task1=Task("task1","task1 description")
    task2=Task("task2","task2 description")
    task1.mark_as_in_progress()
    print(task1.get_details())

    taskmanager=TaskManager()
    print(taskmanager.add_task(task2))
    print(taskmanager.get_task_details("task1"))